#include<bits/stdc++.h>
using namespace std;
#define ll long long
struct edge{
    int name;
    int w;
};
bool sub(edge a,edge b){
    return a.name<b.name;
}
int h[100001];
edge q[100001];
int main(){
    freopen("duel.in","r",stdin);
    freopen("duel.out","w",stdout);
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        int num;cin>>num;
        h[num]++;
    }
    int k=0;
    for(int i=1;i<=100001;i++){
        if(h[i]) {
            q[++k].w=h[i];
            q[k].name=i;
        }

    }
    sort(q+1,q+k+1,sub);
    int dor=0,aor=0,dum=0,aum=0;
    int ans=n;
    int c=1;
    while(1){
        if(!dor){
            dor=q[c].name;dum=q[c].w;c++;
     //       cout<<dor<<' '<<dum<<' '<<' ';
        }
        aor=q[c].name;aum=q[c].w;c++;
      //  cout<<aor<<' '<<aum<<' '<<endl;

        if(dum<=aum){
            ans-=dum;
            dum=aum;
            dor=aor;
        }

        else {
            ans-=aum;
        }
    //    cout<<dor<<' '<<dum<<' '<<' '<<aor<<' '<<aum<<' '<<endl;
        if(c>k) break;

    }
    cout<<ans;
    fclose(stdin);
    fclose(stdout);
    return 0;
}
